/**
 * 头像URL处理工具
 */

/**
 * 获取完整的头像访问URL
 * @param {string} avatarPath - 数据库存储的头像路径或文件名
 * @returns {string} 完整的头像访问URL
 */
export function getAvatarUrl(avatarPath) {
  // 类型检查和空值处理
  if (!avatarPath || typeof avatarPath !== 'string') {
    // 返回默认头像
    return 'src/assets/avatar.jpg'
  }

  // 如果已经是完整URL，直接返回
  if (avatarPath.startsWith('http://') || avatarPath.startsWith('https://')) {
    return avatarPath
  }

  // 处理旧格式：/images/avatar/xxx.jpg
  if (avatarPath.startsWith('/images/avatar/')) {
    const fileName = avatarPath.split('/').pop()
    return `/api/file/download.do?filename=${fileName}`
  }

  // 处理新格式：直接是文件名（UUID格式）
  if (!avatarPath.includes('/')) {
    return `/api/file/download.do?filename=${avatarPath}`
  }

  // 其他情况，直接返回
  return avatarPath
}

/**
 * 检查头像URL是否有效
 * @param {string} avatarPath - 头像路径
 * @returns {boolean} 是否有效
 */
export function isValidAvatarUrl(avatarPath) {
  return avatarPath && avatarPath.trim() !== ''
}
